/**
 * 导入模块
 */
import mitt from 'mitt';

/**
 * 导入类型声明
 */
import type { Emitter } from 'mitt';

/**
 * 事件的声明类型
 */
// type Events = {}; // 类型被定义为空对象 {}。这意味着你没有定义任何具体的事件类型
type Events = {
    // 事件名: 事件参数类型 可以定义多个事件类型
    customEvent: any; // 定义一个名为 'customEvent' 的事件，其参数类型为 string
    addToCart: { productId: string; quantity: number };
    removeFromCart: { productId: string; quantity: number };
};

/**
 * 定义事件总线
 */
const emitter: Emitter<Events> = mitt<Events>();

/**
 * 导出事件总线
 */
export default emitter;
